
#   --------------------------------注释区--------------------------------
#   入口:福田e家
#   一天100积分 内置乐子发帖接口
#   记得安装python依赖 pycryptodome
#   需抓取数据: 
#   * 变量: huaji_futian  备注#账号#密码
#   * 变量: Huaji_futian_isRunFt  是否发帖 默认是开启 填1开启填0关闭 

#   多号分割方式 [ 换行 或 新建同名变量 或 & 分割 ]
#   corn: 一天一次即可
#   Powered by Huaji [3487934983] && QQ Group [901898186]
#   --------------------------------祈求区--------------------------------
#                     _ooOoo_
#                    o8888888o
#                    88" . "88
#                    (| -_- |)
#                     O\ = /O
#                 ____/`---'\____
#               .   ' \\| |// `.
#                / \\||| : |||// \
#              / _||||| -:- |||||- \
#                | | \\\ - /// | |
#              | \_| ''\---/'' | |
#               \ .-\__ `-` ___/-. /
#            ___`. .' /--.--\ `. . __
#         ."" '< `.___\_<|>_/___.' >'"".
#        | | : `- \`.;`\ _ /`;.`/ - ` : | |
#          \ \ `-. \_ __\ /__ _/ .-` / /
#  ======`-.____`-.___\_____/___.-`____.-'======
#                     `=---='
# 
#  .............................................
#           佛祖保佑             永无BUG
#           佛祖镇楼             BUG辟邪
#   --------------------------------代码区--------------------------------

'''
Create at [2025-03-27 19:14:56]
'''
import requests
import os
import sys
import platform
import subprocess
import importlib
import datetime
from urllib.parse import urlparse
import logging
import socket
logging.basicConfig(level=logging.INFO, format='[%(levelname)s] ===> %(message)s')
log = logging.getLogger(__name__)

THIS_Proxies = 'https://github.huaji.asia/'   # 网络不行就填Github代理 这里只给出一个要是不行就自己找 https://github.huaji.asia/

data = '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'
func = 'main'

GithubUrl = f"{THIS_Proxies.rstrip('/')}/https://raw.githubusercontent.com/huaji8/So_common/master/so" if THIS_Proxies else 'https://raw.githubusercontent.com/huaji8/So_common/master/so'
THIS_MODE = 'Huaji_SoLoader'
So_name = f'{THIS_MODE}.so'




def get_system_info() -> None:
    global Download_name
    python_version = f"{sys.version_info.major}.{sys.version_info.minor}.{sys.version_info.micro}"
    download_pyver = f'{sys.version_info.major}.{sys.version_info.minor}'
    processor_arch = platform.machine().replace('AMD64', 'x86_64').replace('x64', 'x86_64')
    system_name = platform.system()
    system_ver = platform.release() + " " + platform.version()
    system_arch = platform.architecture()[0]
    if system_name == "Darwin":
        system_name = "macOS"
        system_ver = platform.mac_ver()[0]
    elif system_name == "Windows":
        system_ver = f"{platform.release()} (Build {platform.win32_ver()[1]})"
    
    log.info(f"系统信息 [Python/{python_version}] [系统架构 {processor_arch}] [{system_name}/{system_ver} {system_arch}]")
    if download_pyver not in ['3.10','3.11','3.12']:
        log.error(f'当前Python版本不支持运行此脚本，请使用Python3.10或3.11或3.12运行此脚本,什么??你不重装,简单,删除本脚本然后睡觉觉就行了..')
        
    if processor_arch == 'x86_64' and system_name == 'Linux':
        Download_name = f'{THIS_MODE}_{download_pyver}_x64.so'
    elif processor_arch == 'aarch64' and system_name == 'Linux':
        Download_name = f'{THIS_MODE}_{download_pyver}_aarch64.so'
    else:
        Download_name = f'{THIS_MODE}_{download_pyver}_x64.so'
        
    if processor_arch not in ['x86_64', 'aarch64']:
        log.warning(f'当前系统架构大概率不支持运行此脚本...')
        return
    elif 'Linux' not in system_name:
        log.error(f'当前系统不支持运行此脚本，请使用Linux运行此脚本')
    else:
        log.info('系统检测通过,开始运行脚本')
        return
    
    
    
    exit()



def download_file(save_path: str = None) -> bool:
    url =  GithubUrl + '/' + Download_name
    
    try:
        try:
            socket.create_connection(("www.github.com", 80), timeout=5)
            socket.create_connection(("www.github.com", 443), timeout=5)
        except (socket.timeout, socket.gaierror):
            log.warning("无法连接到Github,大概率下载是失败的,请检查网络或使用代理")

        if not save_path:
            file_name = os.path.basename(urlparse(url).path) or "downloaded_file"
            save_path = os.path.join(os.getcwd(), file_name)
        if os.path.exists(save_path) and os.path.getsize(save_path) == 0:
            os.remove(save_path)
        save_dir = os.path.dirname(save_path)
        os.makedirs(save_dir, exist_ok=True)
        curl_cmd = "curl.exe" if platform.system() == "Windows" else "curl"
        cmd = [
            curl_cmd,
            "-L", 
            "-f",
            "--silent",
            "--show-error",
            "-o", save_path,
            "-m","180",
            url
        ]

        result = subprocess.run(
            cmd,
            check=True,
            stdout=subprocess.PIPE,
            stderr=subprocess.PIPE,
            text=True
        )


        if not os.path.exists(save_path):
            log.error(f"下载文件不存在: {save_path}")
            return False
        if os.path.getsize(save_path) == 0:
            os.remove(save_path)
            log.error(f"下载文件为空: {save_path}")
            return False
        if result.returncode != 0:
            log.error(f"下载失败: {result.stderr.strip()}")
            return False
        log.info(f"文件下载成功: {save_path}")
        os.rename(Download_name, So_name)
        return True

    except subprocess.CalledProcessError as e:
        error_msg = f"下载失败: {e.stderr.strip()}" if e.stderr else "未知curl错误"
        log.error(error_msg)
        return False
    except Exception as e:
        log.error(f"下载异常: {str(e)}")
        return False
    
def dynamic_import(module_name: str) -> object:
    return importlib.import_module(module_name)

    
def Run() -> None:
    if os.path.exists(So_name):
        log.info('so文件存在,开始运行')
        print('='*30)
        obj = dynamic_import(THIS_MODE)
        obj.run(func, data)
    else:
        log.info('so文件不存在,开始下载')
        if download_file():
            Run()
        else:
            log.error('下载失败,请检查网络或使用代理')


if __name__ == '__main__':
    get_system_info()
    Run()
